package com.chaike.hsq.bean.response.pay;

import com.chaike.hsq.bean.response.BizBaseResponse;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * 慧收钱 退款 响应参数.
 * 文档地址：https://docs.huishouqian.com/HSQ_copy/HSQ-AppletPayAPI-TransRefundAPI-1_copy.html
 *
 * @author Luo
 * @version 1.0
 * @date 2021-10-14 10:36
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class RefundResponse extends BizBaseResponse implements Serializable {

    private static final long serialVersionUID = 5190642453439420460L;

    /**
     * <pre>
     * 字段名：商户号.
     * 变量名：merchantNo
     * 是否必填：是
     * 类型：string[1,16]
     * 描述：
     *    商户在慧收钱的商户号，由慧收钱生成并下发
     * </pre>
     */
    private String merchantNo;

    /**
     * <pre>
     * 字段名：商户订单号.
     * 变量名：transNo
     * 是否必填：是
     * 类型：string[1,64]
     * 描述：
     *    退款请求的商户订单号
     * </pre>
     */
    private String transNo;

    /**
     * <pre>
     * 字段名：交易订单号.
     * 变量名：tradeNo
     * 是否必填：是
     * 类型：string[1,64]
     * 描述：
     *    慧收钱系统交易订单号
     * </pre>
     */
    private String tradeNo;

    /**
     * <pre>
     * 字段名：退款金额.
     * 变量名：orderAmt
     * 是否必填：是
     * 类型：string[1,16]
     * 描述：
     *    退款金额，单位：分
     * </pre>
     */
    private String orderAmt;

    /**
     * <pre>
     * 字段名：交易状态.
     * 变量名：orderStatus
     * 是否必填：是
     * 类型：string[1,16]
     * 描述：
     *    详见交易状态码
     * </pre>
     *
     * @see com.chaike.hsq.consts.HsqPayEnum.OrderStatus
     */
    private String orderStatus;

    /**
     * <pre>
     * 字段名：完成时间.
     * 变量名：finishedDate
     * 是否必填：是
     * 类型：string[1,16]
     * 描述：
     *    退款完成时间，格式[yyyyMMddHHmmss]
     * 示例：20190101140908
     * </pre>
     */
    private String finishedDate;

}
